package com.mce.nebula.repository;

import com.mce.nebula.entity.TeamRolePermission;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 团队角色权限数据访问接口
 */
@Repository
public interface TeamRolePermissionRepository extends JpaRepository<TeamRolePermission, Long> {
    
    /**
     * 根据角色ID查找权限列表
     */
    List<TeamRolePermission> findByRoleId(String roleId);
    
    /**
     * 根据角色ID和权限代码查找
     */
    List<TeamRolePermission> findByRoleIdAndPermissionCode(String roleId, String permissionCode);
    
    /**
     * 查找激活的权限
     */
    List<TeamRolePermission> findByRoleIdAndIsActiveTrue(String roleId);
    
    /**
     * 根据企业ID查找权限
     */
    @Query("SELECT trp FROM TeamRolePermission trp WHERE trp.enterpriseId = :enterpriseId")
    List<TeamRolePermission> findByEnterpriseId(@Param("enterpriseId") String enterpriseId);
    
    /**
     * 删除角色的所有权限
     */
    void deleteByRoleId(String roleId);
}





